1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to the field of data processing systems for performing arithmetic coding.
2. Description of the Prior Art
It is known to provide data processing systems which perform arithmetic coding, both in the form of encoding and decoding. When performing arithmetic coding, one or more probability values are accessed in dependence upon a current context of the processing as each portion of the data stream is processed. One known form of arithmetic coding is context adaptive binary arithmetic coding of the type used in the H.264 video data coding standard.
It is desirable that systems using arithmetic coding should have a low cost and a low power consumption. A problem in this regard is the volume of probability data that is associated with a large number of contexts used during arithmetic coding. For example, when performing arithmetic coding in accordance with the H.264 Standard there may be 460 contexts each with an associated probability value which must be rapidly available for reading and writing. One known technique for storing the probability data associated with the different contexts is to use special purpose registers with each register storing a probability value associated with its own context value. A disadvantage of this approach is that the large number of registers necessary to provide such high speed access consume a disadvantageously large circuit area and consume a disadvantageously large amount of power.
Another possible approach is to store the probability data for the different contexts within a random access memory. Random access memories are typically dense storage structures consuming relatively little circuit area and power. However, a disadvantage of this approach is that the speed of access for reading and writing the probability values within the random access memory may be too low to support the high coding and decoding rates required.